home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO079B.dsk / IIC / IIC.06.BUFFER.txt < prev    next >
Text File  |  2012-02-16  |  3KB  |  77 lines

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5.  
  6.  
  7. Apple IIc
  8. #6:    Buffering Blues
  9.  
  10. Revised by:    Mike Askins                                      November 1988
  11. Written by:    Guillermo Ortiz                                   January 1987
  12.  
  13. This Technical Note describes changes on the memory-expandable IIc which 
  14. affect the procedures for enabling keyboard and serial input buffering.
  15. _____________________________________________________________________________
  16.  
  17. When the IIc firmware was reorganized to accommodate the memory expansion card 
  18. in slot 4, the mouse moved to slot 7, thus causing some screen holes to be 
  19. reassigned.  This change may software which uses keyboard or serial input 
  20. buffering to crash.
  21.  
  22. The following list shows the changes in the locations which are used for 
  23. enabling keyboard and serial input buffering:
  24.  
  25.             Original &
  26. Name        3.5 ROM    Expandable IIc    Comment
  27. typhed       $5FA          $5FA          ;buffer the keyboard? NO CHANGE
  28. twkey        $5FF          $5FC          ;storage pointer for type-ahead buffer
  29. trkey        $6FF          $6FC *        ;retrieve pointer for type-ahead buffer
  30.  
  31. aciabuf      $4FF          $4FC          ;Owner of serial buffer, if any
  32. twser        $57F          $57C          ;storage pointer for serial buffer
  33. trser        $67F          $67C          ;retrieve pointer for serial buffer
  34.  
  35. *    In the version 3 ROM (original "memory-expandable" IIc) this pointer 
  36. is still $6FF which causes, among other things, the Terminal Mode to 
  37. be inoperative.  Revision 4 of the IIc firmware fixes this bug.
  38.  
  39. We can not emphasize enough the need for carefully checking the version of the 
  40. machine on which a program is running.  It is also important to pay attention 
  41. to the now obvious fact that even in the Apple IIc things can (and most 
  42. probably will) move around, making any hard-coded slot assignment a sure 
  43. source of incompatibility.  To ensure compatibility, scan the slots.
  44.  
  45. The Apple IIc Technical Reference Manual describes how to enable buffering.  
  46. Using serial buffering as an example, the pertinent instructions in the manual 
  47. should now be understood as meaning:
  48.  
  49. Using Serial Buffering Transparently
  50.  
  51.  If (machineID = "Memory Expandable IIc") then
  52.    begin
  53.      aciabuf = $04FC;     {Newest IIc with Expanded Memory Capabilities,}
  54.      twser = $057C;       {ROM versions 3 and 4.}
  55.      trser = $067C
  56.    end
  57.  else
  58.     begin
  59.       aciabuf = $04FF;    {Original IIc and 3.5 ROM IIc}
  60.       twser = $057F;
  61.       trser = $067F
  62.     end;
  63.  
  64.  Set_Location aciabuf to $C1 or $C2.
  65.  Set_Locations twser and trser to $0. 
  66.  
  67. Using Serial Interrupts Through Firmware
  68.  
  69.  Set_Location aciabuf to a value other than $C1 or $C2
  70.  
  71.  
  72. Further Reference
  73. o    Apple IIc Technical Reference Manual 
  74. o    Apple IIc Technical Note #7, Existing Versions
  75. o    Apple II Miscellaneous Technical Note #7, Apple II Family Identification
  76.  
  77.